var reverse = function(x) {
    let ans = [];
    let res;
    if(x<0) {
         ans = reverseArr(x);
        ans.unshift("-");
        res = ans.join("")-0;
        console.log(res)
    }
    else {
         ans = reverseArr(x);
         res = ans.join("")-0;
    }
    if(res<Math.pow(-2,31) || res> Math.pow(2,31)-1) return 0;
    return res;
}
    const reverseArr = (num) => {
        num = num + "";
        let nums = num.split('');
        if(nums[0]=="-")
        nums.shift();
        nums.reverse();
        if(nums[0]=='0')
        nums.shift();
        return nums;
    }
// console.log(reverse(-123))
// console.log(reverseArr(-123))
// console.log(-123< Math.pow(-2,31));
// console.log( Math.pow(2,31)-1)
// var reverse = function(x) {
//     let rev = 0;
//     while (x !== 0) {
//         const digit = x % 10;
//         x = ~~(x / 10);
//         console.log(x)
//         rev = rev * 10 + digit;
//         if (rev < Math.pow(-2, 31) || rev > Math.pow(2, 31) - 1) {
//             return 0;
//         }
//     }
//     return rev;
// };
var reverse = function(x) {
    let res = 0;
    while(x!=0) {
        res = res*10+x%10;
        console.log(res)
        x=(x/10)|0;
    }
    return (res|0)==res?res:0
 }
reverse(-123)
